package com.zy.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zy.bean.po.RuleComponent;
import com.zy.bean.qo.SystemCmpQo;
import com.zy.bean.vo.SystemCmpVo;
import com.zy.enums.ReportTypeEnum;

import java.util.List;
import java.util.Map;

/**
 * @author hanhuafeng
 * @createDate 2023-07-17 18:36:00
 * @description 规则组件库
 */
public interface RuleComponentService extends IService<RuleComponent> {
    /**
     * 根据上报类型查询组件
     *
     * @param reportType 上报类型
     * @return java.util.List<com.zy.bean.po.RuleComponent>
     */
    List<RuleComponent> listByReportType(ReportTypeEnum reportType);

    /**
     * 查询全部组件
     *
     * @return java.util.List<com.zy.bean.po.RuleComponent>
     */
    Map<String, List<RuleComponent>> listAll();

    /**
     * 分页查询系统组件
     *
     * @param qo 查询条件
     * @return 返回系统组件
     */
    IPage<SystemCmpVo> listSystemComponent(SystemCmpQo qo);
}
